
# 两者是分割不开的，l改list2也跟着改，因为指向的是同一个肚子鼓
# list2 = l
# =======
# list1 = ["lizi","wjf",[1,2]]

# 两者分隔不开，list1改list2也跟着改，因为只
# list2 = list1
# list1[0] = "lizi"
# print(list2)

# 需求：
# 1.拷贝一下源列表产生一个新列表
# 2.想让两个列表完全独立开，针对的是该操作的独立而不是读操作！

# 满足
# 3.如何拷贝列表
# 3.1浅拷贝
# list1 = ["lizi","wjf",[1,2]]
# list2 = list1.copy()
# print(list2)
# print(id(list1))
# print(id(list2))
# print(id(list1[0]),id(list1[1]),id(list1[2]))
# print(id(list2[0]),id(list2[1]),id(list2[2]))

# print("="*50)
# print("这里是介绍深拷贝")
# import copy
# list1 = ["lizi","wjf",[1,2]]
# list3 = copy.deepcopy(list1)
# print(id(list3))
# print(id(list1[0]),id(list1[1]),id(list1[2]))
# print(id(list3[0]),id(list3[1]),id(list3[2]))


# 循环的语法与基本使用
"""
count = 0
while count < 5:  # 5<5
    print(count)
    count += 1
print("跳出循环")

# 死循环与效率问题  
# count1 = 0
# while count1 < 5:
#     print(count1)
# 致命循环
# while True:     # 这段代码会一直计算1+1不停歇，纯计算无io的死循环会导致致命的问题
#     1+1
"""
"""
ip_name = "lizi"
ip_pwd = "123"
name = input("请输入您的账号：")
pwd = input("请输入您的密码：")
if name == ip_name and pwd == ip_pwd :
    print("登录成功！")
else :
    print("输入密码错误！")
"""

# 循环的应用

# ip_name = "lizi"
# ip_pwd = "123"

"""
# 两个问题：
# 1.重复代码
# 2.输对了应该不用在重复

while True :
    name = input("请输入您的账号：")
    pwd = input("请输入您的密码：")
    if name == ip_name and pwd == ip_pwd :
        print("登录成功！")
    else :
        print("输入密码错误！")
"""

# 退出循环的两种条件
# 方式一： 讲条件改为False
"""
tag = True
while tag :
    name = input("请输入您的账号：")
    pwd = input("请输入您的密码：")
    if name == ip_name and pwd == ip_pwd :
        print("登录成功！")
        tag =False
    else :
        print("输入密码错误！")
# 自己写的
tag = True
while tag :
    name = input("请输入您的名字：")
    pwd = input("请输入您的密码:")
    if name == ip_name and pwd == ip_pwd :
        print("登陆成功！")
        tag = False
    else:
        print("您的用户名/密码输入错误！")   
"""

# 方式二：break,只要运行到break就会立刻终止本层循环
"""
while True :
    name = input("请输入您的名字：")
    pwd = input("请输入您的密码:")
    if name == ip_name and pwd == ip_pwd :
        print("登陆成功！")
        break   #立刻终止本层的循环
    else:
        print("您的用户名/密码输入错误！")
"""

# 案例01
"""
while True :
    name = input("请输入您的名字：")
    pwd = input("请输入您的密码:")
    if name == ip_name and pwd == ip_pwd :
        print("登陆成功！")
        while True :
            cmd = input("请输入你要指定的密码")
            if cmd == "666" :
                break
            print("命令{i}正在运行".format(i = cmd))
        break   #立刻终止本层的循环
    else:
        print("您的用户名/密码输入错误！")
"""

# 案例2
"""
tag =True
while True :
    name = input("请输入您的名字：")
    pwd = input("请输入您的密码:")
    if name == ip_name and pwd == ip_pwd :
        print("登陆成功！")
        while True :
            cmd = input("请输入你要指定的密码")
            if cmd == "666" :
                tag = False
            print("命令{i}正在运行".format(i = cmd))
    else:
        print("您的用户名/密码输入错误！")  


"""
# 自己写的案列：
"""
db_ccvfx_user = "lizi"
db_ccvfx_pwd = "123456789"
ccvfx_pass = True
while ccvfx_pass :
    print("欢迎您使用{db_webname},我们将提供您任何需求！".format(db_webname = "开源视界"))
    ccvfx_user = input("输入的用户名：")
    ccvfx_pwd = input("请输入您的密码：")
    if ccvfx_user == db_ccvfx_user and ccvfx_pwd == db_ccvfx_pwd :
        print("登录成功！我们正在为您跳转画面.......")
        ccvfx_pass = False
    else :
        print("您输入的账号/密码有误，请重新输入！")    
"""


# while+continue  在continue之后添加同级代码毫无意义，因为永远无法运行
"""
count = 0
while count < 6 :
    if count == 4 :
        count += 1
        continue
    print(count)
    count += 1
"""

# while+eles  (针对break)
"""
while True:
    pass
else:
    print("else包含的代码会在while循环结束后，并且while循环是在没有被break打断的情况下正常结束的，才不会运行")
"""


# 自己写的课后联系
'''
db_ccvfx_user = "lizi"
db_ccvfx_pwd = "123"
jishuqi = 0
while True:
    if jishuqi == 3 :
        break
    ccvfx_user = input("请输入您的用户名：")
    ccvfx_pwd = input("请输入您的密码：")
    if ccvfx_user == db_ccvfx_user and ccvfx_pwd == db_ccvfx_pwd:
        print("恭喜你登录成功")
        break
    else :
        print("您的用户名/密码可能有误")
        jishuqi += 1
        if jishuqi == 2 :
            print("您只有最后一次输入机会，请您认真审核")
        elif jishuqi == 3 :
            print("很遗憾您今天的输入次数已过！")
        else :
            print("你只有三次机会，你已经输入：{cishu}".format(cishu = jishuqi) +"次")

'''

# for 循环
# 案例一： 列表循环取值
"""
# 简单版
for x in ["lizi","wjf","wbx"] :
    print(x)
# 复杂版:
l = ["lizi","wbx","wjf","ctc"]
i = 0
while i < 4 :
    print(l[i])
    i += 1

# 案列二：字符串循环取值 
# 简单版
zidian1 = "我是一个大坏蛋！"
for wz in zidian1 :
    print(wz)
"""



# 案例三：字典循环取值
"""
zidian2 = {"k1": "lizi","k2":"wjf","k3":"wbx"}
for x in zidian2:
    print(x,zidian2[x])
"""

# for x in range(10):
#     print(x)
#     if x == 5:
#         print("已经循环6次")
#         break   
# else:
#     print("1213")
'''
name1 = "123"
pwd1 = "123"
for i in range(3):
    inp_name = input("请输入密码==用户：")
    inp_pwd = input("请输入密码：")
    if inp_name == name1 and inp_pwd == pwd1 :
        print("登陆成功！")
        break
else:
    print("您输入的密码次数过多")
'''